1. Technical Field
The present invention relates to information systems and more particularly to systems and methods for automatically updating hard-coded dependencies.
2. Description of the Related Art
Many enterprises perform data-center transformations, consolidations, and migrations to reduce costs and make information technology (IT) greener. Dependencies between components are a key factor in the planning, and most projects later involve address changes. Discovering dependencies and reconfiguring the components using changed addresses is a significant challenge, in general, and even more so when the names and addresses are embedded in code instead of configuration files.
Today enterprise IT environments undergo significant transformations that include server virtualization, server migrations to clouds, and server migrations between data centers. In all these cases, servers typically change their Internet Protocols (IP) and/or destination node Domain Name System (DNS) names. Unfortunately, many if not most applications have server names or IP addresses embedded in their code. This is also true for Java Enterprise Edition™ or Java EE™ (J2EE) applications running in Application Servers.
Such applications are supposed to have dependencies on other servers or software components externalized in special configuration files that are easy to update. However, this is not the case for a vast majority of real-world applications. These dependencies may be referred to as hard-coded dependencies. Application migration teams have to manually update hard-coded dependencies for each application, which can take a person-year per application. If this same application has to be moved again later, the work has to be repeated.